Previous | Next

# Stack traces

    $ gdb /usr/bin/gimp core.9913
    GNU gdb 6.8-debian
    [ license spew ]
    (gdb) where
    #0  0xb7972eb7 in ?? () from /usr/lib/libgthread-2.0.so.0
    #1  0xb766df42 in g_slice_alloc () from /usr/lib/libglib-2.0.so.0
    #2  0xb766f222 in g_slist_prepend () from /usr/lib/libglib-2.0.so.0
    #3  0x08360aa5 in depth_first_search (mask=0x9734650, x=27, y=0, xwidth=2004,
        yheight=2112, b=0xaf82cd0, mark=7 '\a') at siox.c:584
    #4  0x08360cd8 in find_max_blob (mask=0x9734650, x=27, y=0, width=1977,
        height=2112, size_factor=0) at siox.c:655
    #5  0x08361d92 in siox_foreground_extract (state=0x9c9a198,
        refinement=, mask=0x9734650, x1=27, y1=0, x2=1977,
        y2=2112, smoothness=3, sensitivity=0x8638170, multiblob=0,
        progress_callback=0x82f1c60 ,
        progress_data=0x9767aa8) at siox.c:1242
    #6  0x082a59fc in gimp_drawable_foreground_extract_siox (mask=0x93c7228,
        state=0x9c9a198, refinement=SIOX_REFINEMENT_ADD_FOREGROUND, smoothness=3,
        sensitivity=0x8638170, multiblob=0, progress=0x9767aa8)
        at gimpdrawable-foreground-extract.c:152
    #7  0x0812d6c7 in gimp_foreground_select_tool_select (free_sel=0x9c29140,
        display=0x9767aa8) at gimpforegroundselecttool.c:677
    #8  0x0812de50 in gimp_foreground_select_tool_button_release (tool=0x9c29140,
        coords=0xbf99aa90, time=15790126, state=0,
        release_type=GIMP_BUTTON_RELEASE_NORMAL, display=0x9767aa8)
        at gimpforegroundselecttool.c:492
    #9  0x0815b332 in gimp_tool_button_release (tool=0x9c29140, coords=0xbf99ab78,
        time=15790126, state=0, display=0x9767aa8) at gimptool.c:598
    #10 0x080f968a in gimp_display_shell_canvas_tool_events (canvas=0x8d79498,
        event=0x91e31e8, shell=0x8d805a8) at gimpdisplayshell-callbacks.c:984
    #11 0xb7be48d4 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #12 0xb76dc749 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
    #13 0xb76f0f7b in ?? () from /usr/lib/libgobject-2.0.so.0
    #14 0xb76f2937 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
    #15 0xb76f2f59 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
    #16 0xb7d03667 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
    #17 0xb7bddb21 in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
    #18 0xb7bded88 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
    #19 0xb7a57a9a in ?? () from /usr/lib/libgdk-x11-2.0.so.0
    #20 0xb7650cc6 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
    #21 0xb7654083 in ?? () from /usr/lib/libglib-2.0.so.0
    #22 0xb7654467 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
    #23 0x080a56d5 in app_run (
        full_prog_name=0xbf99bc4d "/usr/local/gimp-2.6/bin/gimp-2.6",
        filenames=0x0, alternate_system_gimprc=0x0, alternate_gimprc=0x0,
        session_name=0x0, batch_interpreter=0x0, batch_commands=0x0, as_new=0,
        no_interface=0, no_data=0, no_fonts=0, no_splash=0, be_verbose=0,
        use_shm=1, use_cpu_accel=1, console_messages=0, use_debug_handler=0,
        stack_trace_mode=GIMP_STACK_TRACE_NEVER,
        pdb_compat_mode=GIMP_PDB_COMPAT_ON) at app.c:246
    #24 0x080a670c in main (argc=595, argv=0xb75fd1c0) at main.c:406

What's Rule 0?

The first line is where it actually crashed
The second line is what called that, The third line is what called that and so on.

The important thing: eventually you can get a filename and a line number. Usually it won't be the first line, so keep looking until you see a filename and line number.
That's the WHERE.

Go there and see if you can figure anything out.
Sometimes it's obvious. But what if it isn't?